home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / hardware / vector-connection / development / includes / vector / vectorpar.h next >
C/C++ Source or Header  |  1995-03-09  |  2KB  |  144 lines

  1. /*
  2. ** $Header$
  3. **
  4. */
  5.  
  6. /*
  7. ** © 1994 Henning Schmiedehausen - TSF Software Development
  8. */
  9.  
  10.  
  11. #ifndef DEVICES_VECTORPAR_H
  12. #define DEVICES_VECTORPAR_H
  13.  
  14. /*
  15.  * Commands
  16.  */
  17.  
  18. #define        PIOCMD_QUERY             CMD_NONSTD        /* 0x09 */
  19. #define        PIOCMD_SETPARAMS        (CMD_NONSTD+1)    /* 0x0A */
  20. #define        PIOCMD_INACTIVE            (CMD_NONSTD+2)    /* 0x0B */
  21. #define        PIOCMD_ACTIVE            (CMD_NONSTD+3)    /* 0x0c */
  22.  
  23. #define VECTORPARNAME     "vectorpar.device"
  24.  
  25. /*
  26.  * PIO
  27.  *
  28.  */
  29.  
  30. #define PIO_BASE        0*2
  31.  
  32. #define PIO_PGCR        0*2
  33. #define PIO_PSRR        1*2
  34. #define PIO_PADDR        2*2
  35. #define PIO_PBDDR        3*2
  36. #define PIO_PCDDR        4*2
  37. #define PIO_PIVR        5*2
  38. #define PIO_PACR        6*2
  39. #define PIO_PBCR        7*2
  40. #define PIO_PADR        8*2
  41. #define PIO_PBDR        9*2
  42. #define PIO_PAAR        10*2
  43. #define PIO_PBAR        11*2
  44. #define PIO_PCDR        12*2
  45. #define PIO_PSR            13*2
  46.  
  47. /*
  48.  * Timer
  49.  *
  50.  */
  51.  
  52. #define PIO_TCR            16*2
  53. #define PIO_TIVR        17*2
  54. #define PIO_CPRH        19*2
  55. #define PIO_CPRM        20*2
  56. #define PIO_CPRL        21*2
  57. #define PIO_CNTRH        23*2
  58. #define PIO_CNTRM        24*2
  59. #define PIO_CNTRL        25*2
  60. #define PIO_TSR            26*2
  61.  
  62. /*
  63.  *  Channel-relative PIO Definitions
  64.  *
  65.  */
  66.  
  67. #define PIOR_DDR        0*2
  68. #define PIOR_PCR        8*2
  69. #define PIOR_PDR        10*2
  70. #define PIOR_PAR        12*2
  71.  
  72. #define PIO_ABASE        0
  73. #define PIO_BBASE        2
  74.  
  75. /*
  76.  * Structure to access a PIO chip
  77.  *
  78.  */
  79.  
  80. struct pio
  81. {
  82.     UBYTE    pio_pgcr;
  83.     UBYTE    _pad0;
  84.     UBYTE    pio_psrr;
  85.     UBYTE    _pad1;
  86.     UBYTE    pio_paddr;
  87.     UBYTE    _pad2;
  88.     UBYTE    pio_pbddr;
  89.     UBYTE    _pad3;
  90.     UBYTE    pio_pcddr;
  91.     UBYTE    _pad4;
  92.     UBYTE    pio_pivr;
  93.     UBYTE    _pad5;
  94.     UBYTE    pio_pacr;
  95.     UBYTE    _pad6;
  96.     UBYTE    pio_pbcr;
  97.     UBYTE    _pad7;
  98.     UBYTE    pio_padr;
  99.     UBYTE    _pad8;
  100.     UBYTE    pio_pbdr;
  101.     UBYTE    _pad9;
  102.     UBYTE    pio_paar;
  103.     UBYTE    _pad10;
  104.     UBYTE    pio_pbar;
  105.     UBYTE    _pad11;
  106.     UBYTE    pio_pcdr;
  107.     UBYTE    _pad12;
  108.     UBYTE    pio_psr;
  109.     UBYTE    _pad13;
  110.     UBYTE    _pad14a;
  111.     UBYTE    _pad14;
  112.     UBYTE    _pad15a;
  113.     UBYTE    _pad15;
  114.     UBYTE    pio_tcr;
  115. };
  116.  
  117. /*
  118.  * Structure to access a channel
  119.  *
  120.  */
  121.  
  122. struct pchannel
  123. {
  124.     UBYTE    pc_ddr;
  125.     UBYTE   _padpc0;
  126.     UBYTE    _padpc1;
  127.     UBYTE    _padpc2;
  128.     UBYTE    _padpc3;
  129.     UBYTE    _padpc4;
  130.     UBYTE    _padpc5;
  131.     UBYTE    _padpc6;
  132.     UBYTE    pc_pcr;
  133.     UBYTE    _padpc7;
  134.     UBYTE    _padpc8;
  135.     UBYTE    _padpc9;
  136.     UBYTE    pc_pdr;
  137.     UBYTE    _padpca;
  138.     UBYTE    _padpcb;
  139.     UBYTE    _padpcc;
  140.     UBYTE    pc_par;
  141. };
  142.  
  143. #endif /* DEVICES_VECTORPAR_H */
  144.